package com.hnhcyy.goods.mapper;

import java.util.HashMap;
import java.util.List;
import org.apache.ibatis.annotations.Param;

import com.hnhcyy.b2b.common.model.QueryParam;
import com.hnhcyy.goods.pojo.Goods;
import com.hnhcyy.goods.pojo.GoodsAdminQueryParam;

/**
 * 商品基本信息
 * @author sheyongjun  
 * @date 2019年2月16日
 */
public interface GoodsMapper {
	
	public HashMap<?, ?> get(String spid);
	
	/**
	 * 查询最基本的字段
	 * @author sheyongjun
	 * @date 2019年1月18日
	 */
	public Goods selectItemLittleById(String spid);
	
	/**
	 * 根据ID查询商品详情
	 * @author sheyongjun
	 * @date 2019年1月17日
	 */
	public Goods selectItemMoreById(@Param("spid")String spid, @Param("sptm")String sptm,@Param("sjid")int sjid);
	
	/**
	 * 条件查询商品
	 * @author sheyongjun
	 * @date 2019年1月16日
	 */
	public List<Goods> selectListByQueryParam(QueryParam queryParam);
	
	/**
	 * 指定客户指定商品
	 * @author sheyongjun
	 * @date 2019年1月17日
	 */
	public List<Goods> selectListAppoint(String dwbh);
	
	/**
	 * 某个商品对于某个客户是否可销
	 * @author sheyongjun
	 * @date 2019年1月17日
	 */
	public int selectOneGoodsIsSell(QueryParam queryParam);
	
	/**
	 * 活动商品
	 * @author sheyongjun
	 * @date 2019年2月13日
	 */
	public List<Goods> selectPromotionList(QueryParam queryParam);
	
	/** 以下方法主要是后台使用  */
	
	/**
	 * 根据id查询商品的数量 （新增之前判断商品是否存在）
	 * @author sheyongjun
	 * @date 2018年12月7日
	 */
	public int selectCountById(Goods goods);
	
	/**
	 * 获取所有商品列表
	 * @param queryParam
	 * @return
	 */
	public List<Goods> listAllGoods(GoodsAdminQueryParam queryParam);
	
	/**
	 * 获取所有即将涨价商品列表
	 * @param queryParam
	 * @return
	 */
	public List<Goods> listAllRiseInPriceGoods(GoodsAdminQueryParam queryParam);
	
	/**
	 * 插入一条记录
	 * @author sheyongjun
	 * @date 2019年2月19日
	 */
	public int insertItem(Goods goods);
	
	/**
	 * 更新商品信息
	 * @param goods
	 */
	public int updateItem(Goods goods);
	
	/**
	 * 批量更新
	 * @author sheyongjun
	 * @date 2019年3月27日
	 */
	int updateList(@Param("goodsList") List<Goods> goodsList);
	
	/**
	 * 查询Fver
	 * @param spid
	 * @return
	 */
	public String selectFverBySpid(String spid);
	
	/**
	 *
	* @Title: updateGoodsFPrice 
	* @Description: 修改商品价格
	* @param @param goods
	* @author huangwei 
	* @return int    返回类型 
	* @date 2019年3月30日下午2:59:53
	 */
	public int updateGoodsFPrice(Goods goods);

	/**
	 * @Description:    查询所有上架的商品(不包括宣传物料)
	 * @Author:         sheyongjun
	 * @CreateDate:     2019/4/15 下午 2:27
	 * @Version:        1.0
	 */
	List<Goods> selectListOnSell();
	
}
